package org.dromara.system.api;

import org.dromara.system.api.domain.vo.RemoteStoreVo;

import java.util.List;
import java.util.Map;

/**
 * 抽帧服务
 *
 * @author samuel
 * @date 2024-03-27 20:34:49
 */
public interface RemoteStoreService {
    /**
     * 查询门店名称
     * @param storeId   门店ID
     * @return          门店名称
     */
    String selectNameByStoreId(Long storeId);

    /**
     * 根据给定的店铺ID列表，查询对应的店铺名称列表
     *
     * @param storeIds 店铺ID列表
     * @return 包含店铺名称的RemoteStoreVo对象列表
     */
    Map<Long, String> selectNamesByStoreList(List<Long> storeIds);

    /**
     * 根据给定的店铺ID列表，查询对应的上级区域列表
     *
     * @param storeIds 店铺ID列表
     * @return 包含店铺名称的RemoteStoreVo对象列表
     */
    Map<Long, String> selectGroupNamesByStoreList(List<Long> storeIds);


    /**
     * 根据门店Id查询上级区域id
     * @param storeId
     * @return
     */
    Long selectGroupIdByStoreId(Long storeId);


    /**
     * 根据区域id获取门店列表
     * @param groupIds
     * @return
     */
    List<RemoteStoreVo> queryStoreByGroupIds(List<Long> groupIds);


    /**
     * 根据门店ids查询门店是否存在
     * @param storeIds
     * @return
     */
    Map<Long, Boolean> queryIsStore(List<Long> storeIds);


    /**
     * 获取全部的门店
     * @return
     */
    List<RemoteStoreVo> queryStore();


}
